#ifndef __INTERRUPTS_H__
#define __INTERRUPTS_H__

#include <stdint.h>
#include <arch/interrupts.h>

typedef void (*irq_handler_t)(unsigned id);

void irq_handle(unsigned id);
void interrupts_cpu_sendipi(uint64_t target_cpu, uint64_t ipi_id);
void request_irq(unsigned id, irq_handler_t handler);
void free_irq(unsigned id);
void interrupts_init(void);

#endif /* __INTERRUPTS_H__ */
